<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><!-- InstanceBegin template="/Templates/basic_blue.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>Welcome to Squeakland</title>
<!-- InstanceEndEditable -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<!-- InstanceBeginEditable name="head" -->
<!-- InstanceEndEditable -->
</head>

<body background="kedama_images/BG2.jpg" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<!-- InstanceBeginEditable name="EditRegion3" -->
<table width="75%" border="0" cellspacing="5" cellpadding="5">
  <tr> 
    <td><h2>怎么做一个流行的模拟 </h2>
      <p>这是一个流行病如何在人群当中扩展的模拟。使用Kedama,很容易改变人口的密度来观察世界中小乌龟的数量是如果来影响流行病的扩展。为了创建这个工程，我们需要用到测试语句和变量。</p>
      <p> 我们首先需要写的脚本是建立一个模拟的世界。开始，我们需要一个很大群体的健康小乌龟，其中有一个带有流行病。 </p>
      <p>首先，拖出Kedama world 添加一个新的小乌龟种类。</p></td>
  </tr>
  <tr> 
    <td><div align="center"><img src="kedama_images/18EpidemicStart.png" width="247" height="200"></div></td>
  </tr>
  <tr> 
    <td>我们需要一大群的小乌龟而不是一个，因此拖出“turtlel's turtleCount”来创建一个新脚本。，在我们正真运行模拟器前，我们先给它起名“setup”，因为这个名字将会描述我们Kedama world 变成什么样。继续为你的群体创建大量小乌龟；我们使用1,000。</td>
  </tr>
  <tr> 
    <td><div align="center"><img src="kedama_images/19SetupScript.png" width="278" height="261"></div></td>
  </tr>
  <tr> 
    <td>现在，为了区分那些被流行病感染的小乌龟与健康的海龟，我们可以使用不同的颜色。我们为健康的小乌龟使用蓝色，被感染的小乌龟使用红色。当然，你可以任意选择你想要的颜色。开始，我们的小乌龟是健康的，我们把小乌龟的颜色设置为蓝色。使用turtlel's视窗打开“kedama turtle”对话框，拖出“turtlel's color”命令，把它加到你的脚本里。然后，改变健康小乌龟的颜色。</td>
  </tr>
  <tr> 
    <td><div align="center"><a name="redbox" id="redbox"></a><img src="kedama_images/20ChangeTurtleColor_PIC.png" width="376" height="390"></div></td>
  </tr>
  <tr> 
    <td> <p>为了改变所有小乌龟的颜色，继续运行你的脚本。小乌龟将会改变为新的，健康的颜色。 
      </p>
      <p>你是否注意到红色的方块没有改变颜色？想知道为什么吗，<a href="http://www.squeakland.org/fun_projects/kedama/kedma_redbox_help.htm"> 点击这里。</a>.</p></td>
  </tr>
  <tr> 
    <td>我们同时需要为小乌龟创建一个变量来了解他们是健康还是被感染了。点小乌龟菜单上部的“V”来创建变量，“感染”。</td>
  </tr>
  <tr> 
    <td><div align="center"><img src="kedama_images/22InfectedVar.png" width="267" height="605"></div></td>
  </tr>
  <tr> 
    <td>这将成为一个布尔变量，代表真或者假。为了改变变量的类型你需要（默认是“Number”类型）点击变量名旁边的菜单图标选择“change value type"。</td>
  </tr>
  <tr> 
    <td><div align="center"><img src="kedama_images/23ChangeValue_PIC.png" width="263" height="637"></div></td>
  </tr>
  <tr> 
    <td>  然后从列表中选择“Boolean”选项。起初，我们将它设置为假。这代表所有的小乌龟都是健康的。</td>
  </tr>
  <tr> 
    <td><div align="center"><img src="kedama_images/24InfectedFalse.png" width="260" height="206"></div></td>
  </tr>
  <tr> 
    <td><p>  现在，拖出这个命令把它添加到你的“setup”脚本中。这将确保你的模拟器开始的时候所有的小乌龟是健康的。</p>
      <p>  为了跟踪Kedama world中小乌龟感染的数量，我们同样创建一个变量“infectedCount”。我们需要用到Kedama菜单而不是turtle菜单，因为我们需要计算Kedama world中感染的小乌龟数量。所以，打开Kedama 视图创建一个新变量。</p></td>
  </tr>
  <tr> 
    <td><div align="center"><img src="kedama_images/25InfectedCount.png" width="352" height="525"></div></td>
  </tr>
  <tr> 
    <td><p>当我们使用detailed watcher时，我们可以观察到小乌龟感染的数量和流行病扩散的速度。点击变量旁边的菜单图标--“Kedama’s infectedCount”--选择“detailed watcher”。</p></td>
  </tr>
  <tr> 
    <td><div align="center"><img src="kedama_images/26DetailedWatcher_PIC.png" width="336" height="536"></div></td>
  </tr>
  <tr> 
    <td>把watcher拖出来。然后，为了我们的“setup”脚本，让我们设置“infectedCont”为0因为没有小乌龟被感染。</td>
  </tr>
  <tr> 
    <td><div align="center"><img src="kedama_images/27SetupScript.png" width="278" height="143"></div></td>
  </tr>
  <tr> 
    <td><p>到现在为止，我们已经建立了一大群健康而快乐的小乌龟。现在，我们要向这个群体中加入一只被感染的小乌龟。为了做到这一点，我们可以写一个测试语句，当世界中没有未被感染的小乌龟时，一只小乌龟会被感染。拉出一个测试语句并加入你的脚本。现在，只有在模拟的过程刚刚开始时infectedCount的值为零；毕竟我们写了那个语句！所以，“当infectedCount等于零时一只小乌龟被感染”是一个不错的测试方法。 </p>
      <p><a name="infecthelp" id="infecthelp"></a>我们如何仅感染一只小乌龟？这需要为turtle1编写一个新脚本，在该新脚本中做三个动作：1）将小乌龟的感染值从“false”改为“true”；2）将小乌龟的颜色从健康的颜色改为被感染的颜色（我们将小乌龟从健康的蓝色改为生病的红色）；3）将Kedama的“infectedCount”变量增加1。你可以自己写这段脚本吗？（如果需要帮助 <a href="http://www.squeakland.org/fun_projects/kedama/kedma_infect_help.htm">请点击此处）</a>.) </p>
      <p>当你写完这个脚本，你就可以将它加入测试语句，使测试为真时脚本被执行。正如你所看到的，我们给新脚本取名为“infect”。</p></td>
  </tr>
  <tr> 
    <td><div align="center"><img src="kedama_images/28SetupScript2.png" width="279" height="190"></div></td>
  </tr>
  <tr> 
    <td>好的，现在我们已经编写了开始时让它以什么样子出现的模拟。为确保你编写的东西运行正常，运行“setup”脚本。你将看到一大群健康的小乌龟中有一只感染的小乌龟。为了使它更易于使用，你可以建立一个按钮，方法是点击你的“setup”脚本顶端的“turtle1”并选择“button to fire this script”。它会给你一个按钮，你可以将该按钮放到Kedama world的边上。</td>
  </tr>
  <tr> 
    <td><div align="center"><img src="kedama_images/29Button_PIC.png" width="295" height="205"></div></td>
  </tr>
  <tr> 
    <td><p>我们要写的最后一个脚本是流行病扩散的脚本。为了实现这一点，我们需要使小乌龟们动起来，这样在任一时刻一只感染的小乌龟都接近一只健康的小乌龟，这只健康的小乌龟会被感染。而后，这只新感染的小乌龟也会散播这种流行病，依次类推――就像感冒是如何在一个拥挤的房间里传播一样。 </p>
      <p>起初，我们需要让我们的小乌龟们动起来。这比较容易办到，建立一个让turtle1前进的新脚本。我们让每一只小乌龟一次向前移动一步，给该脚本取名为“spreadDisease”。 </p>
      <p>现在，我们要处理Kedama中的区域。我们通过跟踪它们从一个区域移动到下一个区域来追踪它们。

然后，如果一只健康的小乌龟很接近感染的小乌龟――即它们在同一区域中――我们就让它被感染。你可以想象一间拥挤的房间中有一个生病的人。如果你跟这个人站得很近，你将有很大的机会被他（或她）传染上感冒。为了追踪我们被感染的小乌龟，我们先清除网格上的区域值。然后，我们将有被感染乌龟的网格的值改为1，这样我们就能知道被感染的乌龟在哪里。 </p>
      <p>要清除区域值使所有区域开始时都拥有相同的“空”值，打开“区域”窗口。你将会看到“kedama”目录菜单已被打开。拖出命令“patch clear”即可清除区域的值。</p></td>
  </tr>
  <tr> 
    <td><div align="center"><img src="kedama_images/30PatchClear.png" width="272" height="567"></div></td>
  </tr>
  <tr> 
    <td><p>将这个块拖到你的脚本中清除所有前面的区域值。</p>
      <p>我们要做的下一步是找到感染的小乌龟并将它们所在区域的值改为1。首先，我们通过一个测试语句找到所有感染的小乌龟。拉出一个测试语句并从乌龟窗口的变量菜单中选择“turtle1's infected”作为你的测试语句。</p></td>
  </tr>
  <tr> 
    <td><div align="center"><img src="kedama_images/31TestInfected.png" width="554" height="339"></div></td>
  </tr>
  <tr> 
    <td>现在，如果turtle1被感染，我们要将相应的区域值设为1。从“kedama turtle”菜单中选择“turtle1's patchValueIn”并将其拖到测试语句中即可。</td>
  </tr>
  <tr> 
    <td><div align="center"><a name="infecthint" id="infecthint"></a><img src="kedama_images/32SpreadDiseaseScript.png" width="565" height="543"></div></td>
  </tr>
  <tr>
    <td><p>为了标记感染的小乌龟所在的区域，将turtle1的patchValueIn改为1。</p>
      <p>最后，我们需要检查感染的小乌龟所在的区域里有没有健康的小乌龟。如果有，健康的小乌龟将被感染。你能自己写这个脚本吗？ <a href="http://www.squeakland.org/fun_projects/kedama/kedma_inf_hint.htm">要看提示请点此处。</a>.</p></td>
  </tr>
  <tr> 
    <td> <p>完成了！点“Setup”按钮准备你的模拟，然后运行你的“spreadDisease”脚本来看看传染病发生。你也可以在时钟速率、颜色以级x和y坐标上作些改动来实现一些有趣的效果。</p>
      <p>挑战1：添加一个传染病在乌龟群中传播随时间变化的图表。帮助见Squeakland网站上的图表教程。</p>
      <p>挑战2：即使你接近一个病人，你也有没有被感染的可能。现在在我们的程序中，感染的小乌龟所在的区域中所有健康的小乌龟都一定会被感染。你能修改传染病脚本使一只健康的小乌龟在接近一只感染的小乌龟时得病的概率比较高（而不是一定）吗？</p></td>
  </tr>
  <tr> 
    <td><table width="95%" border="0" cellspacing="5" cellpadding="5">
        <tr> 
          <td><div align="center"></div></td>
          <td>&nbsp;</td>
          <td colspan="3"><div align="center">&lt;<a href="kedma_funcolor.htm">PREVIOUS</a> 
              / <a href="kedma_samples.htm">NEXT</a>&gt;</div></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr> 
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr> 
          <td><div align="center"><a href="kedma_welcome.htm">Welcome</a></div></td>
          <td><div align="center"><a href="kedma_getstart.htm">Get started</a></div></td>
          <td><div align="center"><a href="kedma_t2a.htm">Turtles to atoms</a></div></td>
          <td><div align="center"><a href="kedma_bounce_atom.htm">Bouncing atoms</a></div></td>
          <td><div align="center"><a href="kedma_funcolor.htm">Fun with color</a></div></td>
          <td><div align="center"><a href="kedma_epidemic.html">Epidemic</a></div></td>
          <td><div align="center"><a href="kedma_samples.htm">Examples</a></div></td>
        </tr>
      </table></td>
  </tr>
  <tr> 
    <td><p>&nbsp;</p></td>
  </tr>
</table>
<!-- InstanceEndEditable --> 
</body>
<!-- InstanceEnd --></html>
